---
sidebar_position: 1
---

# Базовый вариант отладки

Код демонстрационной программы "Hello, World!" показан на:

- С. Проект представлен [здесь](https://hub.mos.ru/iu5bmstu/lections-and-labs/cpp1/textbook/-/blob/main/src/labs/lab1/vscode/AwesomeApp-c);
- C++. Проект представлен [здесь](https://hub.mos.ru/iu5bmstu/lections-and-labs/cpp1/textbook/-/blob/main/src/labs/lab1/vscode/AwesomeApp-cpp).

## Отладка с использованием файла launch.json

Информацию о том, как создать `launch.json` для работы с проектами CMake, можете найти в [документе](https://github.com/microsoft/vscode-cmake-tools/blob/main/docs/debug-launch.md#debug-using-a-launchjson-file).

### Windows

Для запуска проекта в [Visual Studio Code](https://code.visualstudio.com/docs/setup/windows) необходимы:

- MinGW, установленный через [MSYS2](https://www.msys2.org/);
- [C/C++ Extension Pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-extension-pack);
- Средства компиляции GNU и отладчики GDB, установленные через pacman MSYS2 (см. опорную статью ниже);
- [CMake](https://cmake.org/) и [Ninja](https://ninja-build.org/).

Опорная статья по работе с GCC и MinGW в Visual Studio Code [здесь](https://code.visualstudio.com/docs/cpp/config-mingw).

`launch.json` для запуска проекта показан [здесь](https://hub.mos.ru/iu5bmstu/lections-and-labs/cpp1/textbook/-/blob/main/src/labs/lab1/vscode/launch-vscode/launch.Windows.json).

Обратите внимание, что в Windows вы можете вводить только символы из кодовой таблицы ASCII.

Также доступен альтернативный вариант работы с программой "Hello, World!". Об этом см. [здесь](./Alternatives.md)

### macOS

Для запуска проекта в [Visual Studio Code](https://code.visualstudio.com/docs/setup/mac) необходимы:

- [Инструменты командной строки Xcode](https://developer.apple.com/xcode/);
- [C/C++ Extension Pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-extension-pack);
- clang, установленный через Xcode (см. опорную статью ниже);
- [CMake](https://cmake.org/).

Опорная статья по работе с Clang в Visual Studio Code [здесь](https://code.visualstudio.com/docs/cpp/config-clang-mac).

`launch.json` для запуска проекта показан [здесь](https://hub.mos.ru/iu5bmstu/lections-and-labs/cpp1/textbook/-/blob/main/src/labs/lab1/vscode/launch-vscode/launch.macOS.json).

### Linux

Для запуска проекта в [Visual Studio Code](https://code.visualstudio.com/docs/setup/linux) необходимы:

- [Инструменты командной строки Xcode](https://developer.apple.com/xcode/);
- [C/C++ Extension Pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-extension-pack);
- Средства компиляции GNU и отладчик GDB (см. опорную статью ниже);
- [CMake](https://cmake.org/).

Опорная статья по работе с Clang в Visual Studio Code [здесь](https://code.visualstudio.com/docs/cpp/config-linux).

`launch.json` для запуска проекта показан [здесь](https://hub.mos.ru/iu5bmstu/lections-and-labs/cpp1/textbook/-/blob/main/src/labs/lab1/vscode/launch-vscode/launch.Linux.json).

## Полезные статьи

1. [Обучение C++, UTF-8 с первой программы | habr.com](https://habr.com/ru/articles/731614/)
